查看原文
其他

老板说 10 分钟可改完 Bug,为什么我却干了 3 小时?

程序员的那些事 程序员的那些事 2021-01-30

(给程序员的那些事加星标


【导读】:国外程序员艾德·韦斯曼(Ed Weissman)从业32年。某天老板告诉他产品有个问题,10 分钟可以修复问题,谁知结果一干就是3个小时。本文就是艾德记录下的过程。


10:48


老板:艾德,苏珊在底特律说,“产品历史屏幕”上经常出现错误的发票号码(Invoice Part Number)。你能帮我们搞定这个问题么?


艾德:我现在在忙其他事。你到我的任务队列中提一个 ticket 吧。


老板:这事 10 分钟就够了。


艾德:你确信么?


老板:嗯,确定。我一会开个网络会议。苏珊会演示给你看,然后你有空的时候再仔细看看。


艾德:好的。


老板:嗯。去你的 Outlook 中查收(会议)邀请吧。


11:05


收到 11:30 的网络会议的 Outlook 邀请,接受。


11:25


从我的 IP 电话呼叫了网络会议的800号码。拨了两次,都占线。从 IP 电话打我手机,同样是忙。哎,IP 电话系统再次坏了。从我手机呼叫了网络会议的号码。我是第一个上线了,然后又挂掉了。在浏览器中点击链接进入了网络会议,还是第一个。


(艾德开始在浏览器的另一 Tab 中刷 Hacker News)


11:38


老板进入会议,问:苏珊在哪里?


艾德:我不知道。


老板:你能看到我的屏幕么?


艾德:不能。


老板:哦,等一下。我来做主(Let me be the host)。现在能看到了么?


艾德:嗯,可以了。但我想苏珊是不是去展示问题了。


老板:对。我一会让她做主。


(艾德开始刷 Hacker News )


11:47


苏珊进入会议:我们怎么在这里呢?


老板:来这儿的目的就是让你给艾德展示“产品历史屏幕”出什么问题了。


苏珊:展示“产品历史屏幕”的问题?


老板:你知道的,你不说发票部分号码有时候会出错么?


苏珊:你指 mil-spec 订单?


老板:我真的不知道。你不发送了ticket么?


苏珊:ticket 号码是多少呢?


老板:稍等,我查一下。


(艾德开始刷 Hacker News )


11:53


老板:ticket 号码是 13827。记住了吧?


苏珊:我怎么在我电脑上查看 ticket。


老板:点击内网中的 IT 控制板。


苏:我点不了啊。网络会议软件全屏了。


老板:那你在键盘敲击 Alt+F4,然后去内网。


(艾德开始刷 Hacker News )


11:57


苏珊:搞定,ticket 号码是多少呢?


老板:我应该写下来了。我再找找……


老板:13827!


苏珊:嗯,我看到了。这个问题出现过几次。没人知道为什么。通常在 R27-83 这个号码时出问题了。


老板:好,给艾德看吧。


苏珊:我怎么回到网络会议界面呢?


老板:你得重启了。刚才 Alt+F4 给关闭退出了。


(艾德开始刷 Hacker News )


12:04


苏珊:好了,网络会议软件打开了。你能看到我么?


老板:不能,你得点击“Host”按钮。


苏珊:在哪里?


老板:在右上角的小方框中。


苏珊:是“History”框么?


老板:不是,是“Attendees”框。


苏珊:好的。现在你能看到我了么?


老板:不能。再试。


苏珊:我试了。好像你得退出主模式吧。


老板:哦,我忘了。


(艾德开始刷 Hacker News )


12:14


老板:我退出主模式了。你再试试。


苏珊:?好的。现在你能看到我的屏幕了吧?


老板:可以看到。


艾德:我也可以。


苏珊:好的,如果我进入主菜单,点击“Operations”,然后点击“Sales”,再点击“History”,我到了“Sales History”菜单。看到了吧?


老板:嗯。


艾德:看到了。


苏珊:然后我按“Part”点击“Sales History Display”。输入”R27-93″,主屏幕弹出来了。然后我点击“Invoices”,我摁 F5,再 F3,再 F7,发票号码(Invoice Part Number)就变成了”GT548″。不应该这样的。


艾德:好,让我查看一下,再答复你。


老板:OK,再见。


苏珊:OK,拜拜。


艾德现在陷入了主模式,因为其他两位退出了。他不能退出。窗口锁定了。他重启电脑了。


12:38


艾德登录,进入开发系统。进入主屏幕,点击“Operations”,然后点击“Sales”,再点击“History”,到了“Sales History”菜单。然后按“Part”点击“Sales History Display”。他输入”R27-93″,主屏幕弹出。他然后点击“Invoices”,摁 F5,再 F3,再 F7,发票号码(Invoice Part Number)还是”R27-93″,本该就如此。在开发系统中工作正常。


12:46


艾德通过他的秘密后门登录产品。进入主屏幕,点击“Operations”,然后点击“Sales”,再点击“History”,到了“Sales History”菜单。然后按“Part”点击“Sales History Display”。他输入”R27-93″,主屏幕弹出。他然后点击“Invoices”,摁 F5,再 F3,再 F7,发票号码(Invoice Part Number)变成了”GT548″。苏珊没说错。


12:57


艾德查看了版本控制系统。这个问题弗瑞德(Fred)在11月11日已经 check out。艾德运行了一个 diff,看到弗瑞德已经发现他更改后的第425行的代码有问题,并修正了。


1:03


艾德呼叫弗瑞德,看他在忙啥。Voice mail。


1:07


艾德给弗瑞德发电子邮件,解释问题。


艾德继续看 Hacker News。


1:17


弗瑞德回拨艾德。艾德告诉他去看邮件。


(艾德开始刷 Hacker News )


1:28


弗瑞德回拨:OK,我想起来了。程序出错,是因为一个离岸外包的程序员改变了“Operations”目录下所有程序的header。他在重新编译前不小心删了一行代码。不知怎么地,还通过了QA,现在苏珊发现了这个Bug。


艾德:那么你现在能修复么?


艾德:不行吧。这个模块中还有12个其他的改动。我先看看,再打给你。


(艾德开始刷 Hacker News )


1:36


弗瑞德回拨:在 XL500 模块通过之前,我是改不了这些变动。模块被冻结(on hol),必须得让QA先批准。所以我们只能等了。


艾德:好的,谢谢弗瑞德。我一会就给老板发邮件告诉他。


艾德给老板发了解释邮件。


(艾德开始刷 Hacker News )


1:48


老板:好,这个看起来是个问题。貌似我不得不升级指导委员会了(Steering Committee)。艾德,很高兴你能分出10分钟来。谢谢。


(艾德开始刷 Hacker News )


- 完 -


你遇到过类似的么?欢迎来分(tu)享(cao) 



- EOF -




推荐阅读  点击标题可跳转

1、你不就是加了 2 行代码,为什么要用 2 天?

2、PM 叫你去改一个 Bug,后来……

3、写完这个排序算法,老板就叫我滚蛋…


关注「程序员的那些事」加星标,不错过圈内事

圈内事,我在看❤️

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存